home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / zmdm.zoo / hi5025.s < prev    next >
Text File  |  1991-04-27  |  2KB  |  74 lines

  1. /
  2. /  Make hi rez screen bios handle 50 lines of 8x8 characters
  3. /
  4. /  Adapted to Mark Williams C use from origional PD asm posting
  5. /  from atari corp.
  6. /
  7. /         Jwahar Bammi
  8. /             usenet: cwruecmp!bammi@decvax.UUCP
  9. /            csnet:  bammi@cwru.edu
  10. /            arpa:   bammi@cwru.edu
  11. /             CompuServe: 71515,155
  12. /
  13.         .shri
  14.  
  15.     .globl hi50_
  16.  
  17. hi50_:                  / switch to 8x8 font
  18. /    link    a6,$0          / routine preamble
  19.  
  20.     .word    0xA000          / get the important pointers (line A init)
  21.  
  22.     movea.l    4(a1),a1      / a1 -> 8x8 font header
  23.  
  24.     move.l  72(a1),-0x0A(a0)  / v_off_ad <- 8x8 offset table addr
  25.     move.l  76(a1),-0x16(a0)  / v_fnt_ad <- 8x8 font data addr
  26.  
  27.     moveq    $8,d0
  28.     move    d0,  -0x2E(a0)      / v_cel_ht <- 8    8x8 cell height    
  29.     move    -0x04(a0),d1    / vertical pixel resolution
  30.     ext.l    d1
  31.     divu    d0,d1        / d1 : # rows : 50
  32.     subq    $1,d1
  33.     move    d1, -0x2A(a0)      / v_cel_my <- 49   maximum cell "Y"
  34.     move    0x02(a0),d1    / ld_vwrap
  35.     mulu    d0,d1        / * v_cel_ht
  36.     move    d1,-0x28(a0)    / -> v_cel_my
  37.                 / offset to cell Y+1
  38.  
  39. /    unlk    a6          / routine postable
  40.     rts              / and return
  41.  
  42.    
  43. /
  44. / Make hi rez screen bios handle 25 lines of 8x16 characters
  45. /
  46.  
  47.     .globl hi25_
  48.  
  49. hi25_:                  / Switch to 8x16 font
  50. /    link    a6,$0          / routine preamble
  51.  
  52.     .word   0xA000          / get the important pointers
  53.     
  54.     movea.l    8(a1),a1      / a1 -> 8x16 font header
  55.  
  56.     move.l  72(a1),-0x0A(a0)  / v_off_ad <- 8x16 offset table addr
  57.     move.l  76(a1),-0x16(a0)  / v_fnt_ad <- 8x16 font data addr
  58.  
  59.     moveq    $16,d0
  60.     move    d0,-0x2E(a0)      / v_cel_ht <- 16    8x16 cell height
  61.     move    -4(a0),d1      / v_rez_vt
  62.     ext.l    d1
  63.     divu    d0,d1          / d1 = # rows: 25
  64.     subq    $1,d1
  65.     move    d1,  -0x2A(a0)      / v_cel_my <- 24    maximum cell "Y"
  66.     move    2(a0),d1    / ld_vwrap
  67.     mulu    d0,d1        / * v_cel_ht
  68.  
  69.     move    d1,-0x28(a0)      /  v_cel_wr <- 1280  vertical byte offset
  70.  
  71. /    unlk    a6          / routine postamble
  72.     rts              / bye
  73.